package com.leo.erp.service;

import javax.servlet.http.HttpServletRequest;

import com.leo.erp.dto.InOutItemExecution;
import com.leo.erp.util.GlobalRuntimeException;

public interface InOutItemService {
	
	/**
	 * 分页查询信息
	 * @param name
	 * @param type
	 * @param remark
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	InOutItemExecution getList(String name, String type, String remark, int currentPage, int pageSize);
	
	/**
	 * 检验名字是否存在
	 * @param inOutItemId
	 * @param name
	 * @return
	 */
	InOutItemExecution checkIsNameExist(int inOutItemId, String name);
	
	/**
	 * 修改收支项目信息
	 * @param beanJson
	 * @param id
	 * @param request
	 * @return
	 */
	InOutItemExecution updateInOutItem(String beanJson, int inOutItemId, HttpServletRequest request);
	
	/**
	 * 插入收支项目信息
	 * @param beanJson
	 * @param request
	 * @return
	 */
	InOutItemExecution insertInOutItem(String beanJson, HttpServletRequest request) throws GlobalRuntimeException;
	
	/**
	 * 正常删除，要考虑数据完整性，进行完整性校验
	 * @param ids
	 * @return
	 */
	InOutItemExecution batchDeleteInOutItemByIdsNormal(String ids);
	int batchDeleteInOutItemByIds(String ids);
	
	/**
	 * 根据类型查询收支信息列表
	 * @param type
	 * @return
	 */
	InOutItemExecution findBySelect(String type);
}
